home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / share / hplip / ui4 / faxsetupdialog.pyc (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2009-04-20  |  8.0 KB  |  215 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.6)
  3.  
  4. import operator
  5. from base.g import *
  6. from base import device, utils
  7. from prnt import cups
  8. from base.codes import *
  9. from ui_utils import *
  10. from PyQt4.QtCore import *
  11. from PyQt4.QtGui import *
  12. from faxsetupdialog_base import Ui_Dialog
  13. from deviceuricombobox import DEVICEURICOMBOBOX_TYPE_FAX_ONLY
  14. fax_enabled = prop.fax_build
  15. if fax_enabled:
  16.     
  17.     try:
  18.         from fax import fax
  19.     except ImportError:
  20.         fax_enabled = False
  21.     except:
  22.         None<EXCEPTION MATCH>ImportError
  23.     
  24.  
  25. None<EXCEPTION MATCH>ImportError
  26. if not fax_enabled:
  27.     log.error('Fax disabled.')
  28.  
  29.  
  30. class FaxSetupDialog(QDialog, Ui_Dialog):
  31.     
  32.     def __init__(self, parent, device_uri):
  33.         QDialog.__init__(self, parent)
  34.         self.setupUi(self)
  35.         self.device_uri = device_uri
  36.         self.initUi()
  37.         self.dev = None
  38.         QTimer.singleShot(0, self.updateUi)
  39.  
  40.     
  41.     def initUi(self):
  42.         self.connect(self.CancelButton, SIGNAL('clicked()'), self.CancelButton_clicked)
  43.         self.connect(self.FaxComboBox, SIGNAL('DeviceUriComboBox_noDevices'), self.FaxComboBox_noDevices)
  44.         self.connect(self.FaxComboBox, SIGNAL('DeviceUriComboBox_currentChanged'), self.FaxComboBox_currentChanged)
  45.         self.FaxComboBox.setType(DEVICEURICOMBOBOX_TYPE_FAX_ONLY)
  46.         self.setWindowIcon(QIcon(load_pixmap('prog', '48x48')))
  47.         if self.device_uri:
  48.             self.FaxComboBox.setInitialDevice(self.device_uri)
  49.         
  50.         self.NameCompanyLineEdit.setMaxLength(50)
  51.         self.FaxNumberLineEdit.setMaxLength(50)
  52.         self.FaxNumberLineEdit.setValidator(PhoneNumValidator(self.FaxNumberLineEdit))
  53.         self.VoiceNumberLineEdit.setMaxLength(50)
  54.         self.VoiceNumberLineEdit.setValidator(PhoneNumValidator(self.VoiceNumberLineEdit))
  55.         self.EmailLineEdit.setMaxLength(50)
  56.         self.connect(self.NameCompanyLineEdit, SIGNAL('editingFinished()'), self.NameCompanyLineEdit_editingFinished)
  57.         self.connect(self.NameCompanyLineEdit, SIGNAL('textChanged(const QString &)'), self.NameCompanyLineEdit_textChanged)
  58.         self.connect(self.FaxNumberLineEdit, SIGNAL('editingFinished()'), self.FaxNumberLineEdit_editingFinished)
  59.         self.connect(self.FaxNumberLineEdit, SIGNAL('textChanged(const QString &)'), self.FaxNumberLineEdit_textChanged)
  60.         self.connect(self.VoiceNumberLineEdit, SIGNAL('editingFinished()'), self.VoiceNumberLineEdit_editingFinished)
  61.         self.connect(self.VoiceNumberLineEdit, SIGNAL('textChanged(const QString &)'), self.VoiceNumberLineEdit_textChanged)
  62.         self.connect(self.EmailLineEdit, SIGNAL('editingFinished()'), self.EmailLineEdit_editingFinished)
  63.         self.connect(self.EmailLineEdit, SIGNAL('textChanged(const QString &)'), self.EmailLineEdit_textChanged)
  64.         self.name_company_dirty = False
  65.         self.fax_number_dirty = False
  66.         self.voice_number_dirty = False
  67.         self.email_dirty = False
  68.  
  69.     
  70.     def updateUi(self):
  71.         if not fax_enabled:
  72.             FailureUI(self, self._FaxSetupDialog__tr('<b>PC send fax support is not enabled.</b><p>Re-install HPLIP with fax support or use the device front panel to send a fax.</p><p>Click <i>OK</i> to exit.</p>'))
  73.             self.close()
  74.             return None
  75.         self.FaxComboBox.updateUi()
  76.  
  77.     
  78.     def FaxComboBox_currentChanged(self, device_uri):
  79.         self.device_uri = device_uri
  80.         self.updateCoverpageTab()
  81.         if self.dev is not None:
  82.             self.dev.close()
  83.         
  84.         
  85.         try:
  86.             self.dev = fax.getFaxDevice(self.device_uri)
  87.         except Error:
  88.             CheckDeviceUI(self)
  89.             return None
  90.  
  91.         self.updateHeaderTab()
  92.  
  93.     
  94.     def FaxComboBox_noDevices(self):
  95.         FailureUI(self, self._FaxSetupDialog__tr('<b>No devices that require fax setup found.</b>'))
  96.         self.close()
  97.  
  98.     
  99.     def NameCompanyLineEdit_editingFinished(self):
  100.         self.saveNameCompany(unicode(self.NameCompanyLineEdit.text()))
  101.  
  102.     
  103.     def NameCompanyLineEdit_textChanged(self, s):
  104.         self.name_company_dirty = True
  105.  
  106.     
  107.     def saveNameCompany(self, s):
  108.         self.name_company_dirty = False
  109.         beginWaitCursor()
  110.         
  111.         try:
  112.             log.debug('Saving station name %s to device' % s)
  113.             self.dev.setStationName(s)
  114.         except Error:
  115.             CheckDeviceUI()
  116.         finally:
  117.             endWaitCursor()
  118.  
  119.  
  120.     
  121.     def FaxNumberLineEdit_editingFinished(self):
  122.         self.saveFaxNumber(unicode(self.FaxNumberLineEdit.text()))
  123.  
  124.     
  125.     def FaxNumberLineEdit_textChanged(self, s):
  126.         self.fax_number_dirty = True
  127.  
  128.     
  129.     def saveFaxNumber(self, s):
  130.         self.fax_number_dirty = False
  131.         beginWaitCursor()
  132.         
  133.         try:
  134.             log.debug('Saving fax number %s to device' % s)
  135.             self.dev.setPhoneNum(s)
  136.         except Error:
  137.             CheckDeviceUI()
  138.         finally:
  139.             endWaitCursor()
  140.  
  141.  
  142.     
  143.     def VoiceNumberLineEdit_editingFinished(self):
  144.         self.saveVoiceNumber(unicode(self.VoiceNumberLineEdit.text()))
  145.  
  146.     
  147.     def VoiceNumberLineEdit_textChanged(self, s):
  148.         self.voice_number_dirty = True
  149.  
  150.     
  151.     def saveVoiceNumber(self, s):
  152.         log.debug('Saving voice number (%s) to ~/.hplip/hplip.conf' % s)
  153.         self.voice_number_dirty = False
  154.         user_conf.set('fax', 'voice_phone', s)
  155.  
  156.     
  157.     def EmailLineEdit_editingFinished(self):
  158.         self.saveEmail(unicode(self.EmailLineEdit.text()))
  159.  
  160.     
  161.     def EmailLineEdit_textChanged(self, s):
  162.         self.email_dirty = True
  163.  
  164.     
  165.     def saveEmail(self, s):
  166.         log.debug('Saving email address (%s) to ~/.hplip/hplip.conf' % s)
  167.         self.email_dirty = False
  168.         user_conf.set('fax', 'email_address', s)
  169.  
  170.     
  171.     def CancelButton_clicked(self):
  172.         self.close()
  173.  
  174.     
  175.     def updateHeaderTab(self):
  176.         beginWaitCursor()
  177.         
  178.         try:
  179.             name_company = self.dev.getStationName()
  180.             self.NameCompanyLineEdit.setText(name_company)
  181.             fax_number = self.dev.getPhoneNum()
  182.             self.FaxNumberLineEdit.setText(fax_number)
  183.         except Error:
  184.             CheckDeviceUI()
  185.         finally:
  186.             endWaitCursor()
  187.  
  188.  
  189.     
  190.     def updateCoverpageTab(self):
  191.         self.VoiceNumberLineEdit.setText(user_conf.get('fax', 'voice_phone'))
  192.         self.EmailLineEdit.setText(user_conf.get('fax', 'email_address'))
  193.  
  194.     
  195.     def closeEvent(self, e):
  196.         if self.voice_number_dirty:
  197.             self.VoiceNumberLineEdit.emit(SIGNAL('editingFinished()'))
  198.         
  199.         if self.name_company_dirty:
  200.             self.NameCompanyLineEdit.emit(SIGNAL('editingFinished()'))
  201.         
  202.         if self.email_dirty:
  203.             self.EmailLineEdit.emit(SIGNAL('editingFinished()'))
  204.         
  205.         if self.fax_number_dirty:
  206.             self.FaxNumberLineEdit.emit(SIGNAL('editingFinished()'))
  207.         
  208.         e.accept()
  209.  
  210.     
  211.     def __tr(self, s, c = None):
  212.         return qApp.translate('FaxSetupDialog', s, c)
  213.  
  214.  
  215.